package com.itheima.service.impl;

import com.itheima.domain.Student;
import com.itheima.mapper.StudentMapper;
import com.itheima.service.StudentService;
import com.util.MapperUtil;
import org.apache.ibatis.session.SqlSession;

import java.util.List;

public class StudentServiceImpl implements StudentService {
    private SqlSession session = null;
    @Override
    public void add(Student stu) {
        session = MapperUtil.getSession();
        StudentMapper mapper = session.getMapper(StudentMapper.class);
        mapper.add(stu);
        MapperUtil.closeSession(session);
    }
    @Override
    public List<Student> findPages(Integer current, Integer size) {
        Integer pagesize=(current-1)*size;
        session = MapperUtil.getSession();
        StudentMapper mapper = session.getMapper(StudentMapper.class);
        List<Student> pages = mapper.findPages(pagesize,size);
        MapperUtil.closeSession(session);
        return pages;
    }
    public int findCount(){
        session = MapperUtil.getSession();
        StudentMapper mapper = session.getMapper(StudentMapper.class);
        int count = mapper.findCount();
        MapperUtil.closeSession(session);
        return count;
    }

    @Override
    public void delete(int id) {
        session = MapperUtil.getSession();
        StudentMapper mapper = session.getMapper(StudentMapper.class);
        mapper.delete(id);
        MapperUtil.closeSession(session);
    }

    @Override
    public Student findById(int id) {
        session = MapperUtil.getSession();
        StudentMapper mapper = session.getMapper(StudentMapper.class);
        Student student = mapper.findById(id);
        MapperUtil.closeSession(session);
        return student;
    }

    @Override
    public void update(Student stu) {
        session = MapperUtil.getSession();
        StudentMapper mapper = session.getMapper(StudentMapper.class);
        mapper.update(stu);
        MapperUtil.closeSession(session);
    }
}
